Cloud service providers provide cloud platforms that include resources available for use by multiple users. In some examples, users can interface with a cloud platform through a client application. Example resources can include storage resources and computational resources. To account for a number of users, cloud platforms should provide such resources in a scalable fashion. In some examples, scalability of a cloud platform can be based on an inexpensive, but massive infrastructure on the cloud service provider's side.
In some examples, if demands of client applications indicate that more resources are required, additional hardware, e.g., processors, memory, can be provisioned by the cloud service provider. In many instances, the provisioning process is unstructured. For example, provisioning of additional resources can be driven by real-time demand, and/or historical information, e.g., seasonal business spikes of online retailers. The result of this unstructured provisioning includes unused resources resulting in higher costs for the consumer, and clients subscribing to service contracts that guarantee more than what the client really consumes.